Support vector machines (SVMs) may be supervised learning models with associated learning algorithms that analyze data and recognize patterns, used for classification and regression analysis. Given a set of training examples, each marked as belonging to one of two categories, an SVM training algorithm may build a model that assigns new examples into one category or the other, making it a non-probabilistic binary linear classifier.